* move Qt floor to 5.15.
* fix focal, coverage, windows 32 bit builds.
* try harder to fix coverage build
* fix codeql build
* kill fedora 32 CI build which uses Qt 5.14.
name: Analyze
runs-on: ubuntu-latest
container:
- image: gpsbabel-docker.jfrog.io/tsteven4/gpsbabel_build_environment_focal
+ image: gpsbabel-docker.jfrog.io/tsteven4/gpsbabel_build_environment_jammy
env:
CMAKE_GENERATOR: Ninja
strategy:
fail-fast: false
matrix:
- # version 32, though obsolete, uses Qt 5.14 so we keep it for that.
include:
- - IMAGE: '32'
- CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
- IMAGE: '35'
CMAKE_PREFIX_PATH: '/usr/lib64/cmake/Qt5'
- IMAGE: '37'
fail-fast: false
matrix:
include:
- - IMAGE: 'focal'
- SCRIPT: './tools/build_and_test_cmake.sh'
+ # focal has Qt 5.12, end of standard support 4/2025, end of life 4/2030.
+ #- IMAGE: 'focal'
+ # SCRIPT: './tools/build_and_test_cmake.sh'
- IMAGE: 'jammy'
CMAKE_PREFIX_PATH: '/usr/lib/x86_64-linux-gnu/cmake/Qt5'
SCRIPT: './tools/build_and_test_cmake.sh'
coverage:
name: coverage Build
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-latest
steps:
- name: install
run: |
sudo apt-get update
- sudo apt-get install gcovr lcov libusb-1.0-0-dev qt5-default qtwebengine5-dev libqt5serialport5-dev ninja-build
+ sudo apt-get install gcovr lcov libusb-1.0-0-dev qtbase5-dev qtwebengine5-dev libqt5serialport5-dev ninja-build
- name: Checkout repository
uses: actions/checkout@v4
fail-fast: false
matrix:
include:
- - QT_VERSION: '5.12.12'
+ - QT_VERSION: '5.15.2'
ARCH: 'amd64'
HOST_ARCH: 'amd64'
- COMPILER: 'msvc2017_64'
+ COMPILER: 'msvc2019_64'
METHOD: 'aqt'
GENERATOR: 'Visual Studio 16 2019'
RELEASE: false
os: windows-2019
- - QT_VERSION: '5.12.12'
+ - QT_VERSION: '5.15.2'
ARCH: 'amd64'
HOST_ARCH: 'amd64'
- COMPILER: 'msvc2017_64'
+ COMPILER: 'msvc2019_64'
TOOLSET: 'v141,version=14.16.27023'
METHOD: 'aqt'
GENERATOR: 'Visual Studio 16 2019'
RELEASE: false
os: windows-2019
- - QT_VERSION: '5.12.12'
+ - QT_VERSION: '5.15.2'
ARCH: 'x86'
HOST_ARCH: 'amd64'
- COMPILER: 'msvc2017'
+ COMPILER: 'msvc2019'
METHOD: 'aqt'
GENERATOR: 'Visual Studio 16 2019'
RELEASE: false
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core REQUIRED)
list(APPEND QT_LIBRARIES Qt${QT_VERSION_MAJOR}::Core)
-if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.12)
- message(FATAL_ERROR "Qt version ${Qt${QT_VERSION_MAJOR}Core_VERSION} found, but version 5.12 or newer is required.")
+if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.15)
+ message(FATAL_ERROR "Qt version ${Qt${QT_VERSION_MAJOR}Core_VERSION} found, but version 5.15 or newer is required.")
else()
message(STATUS "Using Qt${QT_VERSION_MAJOR} version ${Qt${QT_VERSION_MAJOR}Core_VERSION}")
endif()
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Network SerialPort Widgets Xml REQUIRED)
list(APPEND QT_LIBRARIES Qt${QT_VERSION_MAJOR}::Core Qt${QT_VERSION_MAJOR}::Gui Qt${QT_VERSION_MAJOR}::Network Qt${QT_VERSION_MAJOR}::SerialPort Qt${QT_VERSION_MAJOR}::Widgets Qt${QT_VERSION_MAJOR}::Xml)
-if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.12)
- message(FATAL_ERROR "Qt version ${Qt${QT_VERSION_MAJOR}Core_VERSION} found, but version 5.12 or newer is required.")
+if(${Qt${QT_VERSION_MAJOR}Core_VERSION} VERSION_LESS 5.15)
+ message(FATAL_ERROR "Qt version ${Qt${QT_VERSION_MAJOR}Core_VERSION} found, but version 5.15 or newer is required.")
else()
message(STATUS "Using Qt${QT_VERSION_MAJOR} version ${Qt${QT_VERSION_MAJOR}Core_VERSION}")
endif()
// Other header data may have been stored in track description
if (track && track->rte_desc.startsWith(HDRMAGIC)) {
QString desc = track->rte_desc.mid(QString(HDRMAGIC).size());
-#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
- const QStringList fields = desc.split(HDRDELIM, QString::SkipEmptyParts);
-#else
const QStringList fields = desc.split(HDRDELIM, Qt::SkipEmptyParts);
-#endif
for (const auto& field : fields) {
gbfprintf(file_out, "%s\r\n", CSTR(field));
}
// MIN_QT_VERSION in GPSBabel.pro should correspond to the QT_VERSION_CHECK
// arguments in main.cc and gui/main.cc and the version check in
// CMakeLists.txt, gui/CMakeLists.txt.
-#if (QT_VERSION < QT_VERSION_CHECK(5, 12, 0))
+#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
#error This version of Qt is not supported.
#endif
if (qopt_name.contains('+')) {
// form a compound name from one or more fields.
nameidx = -2;
-#if (QT_VERSION < QT_VERSION_CHECK(5, 15, 0))
- const QStringList opt_name_fields = qopt_name.split('+', QString::SkipEmptyParts);
-#else
const QStringList opt_name_fields = qopt_name.split('+', Qt::SkipEmptyParts);
-#endif
nameindices.reserve(opt_name_fields.size());
for (int oidx=0; oidx<opt_name_fields.size(); oidx++) {
bool ok;
explicit Debug(int l) : QDebug(QtDebugMsg) {nospace().noquote() << DebugIndent(l);}
};
-/*
- * Kludge any used QTextStream modifiers into Qt namespace as they are in newer
- * versions of Qt. This makes source compatiblity easier.
- */
-#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
-namespace Qt
-{
- inline QTextStream& dec(QTextStream &s) { return ::dec(s); }
- inline QTextStream& hex(QTextStream &s) { return ::hex(s); }
- inline QTextStream& endl(QTextStream &s) { return ::endl(s); }
- inline QTextStream& uppercasedigits(QTextStream &s) { return ::uppercasedigits(s); }
-}
-#endif
#endif // SRC_CORE_LOGGING_H_
)
}
-QT_VERSION=${1:-5.12.10}
-COMPILER=${2:-msvc2017_64}
+QT_VERSION=${1:-5.15.2}
+COMPILER=${2:-msvc2019_64}
METHOD=${3:-default}
if [ "${COMPILER}" = "msvc2017_64" ]; then
PACKAGE_SUFFIX=win32_msvc2017
elif [ "${COMPILER}" = "msvc2019_64" ]; then
PACKAGE_SUFFIX=win64_msvc2019_64
+elif [ "${COMPILER}" = "msvc2019" ]; then
+ PACKAGE_SUFFIX=win32_msvc2019
else
echo "ERROR: unrecognized Qt compiler ${COMPILER}." >&2
exit 1
# and https://github.com/microsoft/vswhere/wiki/Start-Developer-Command-Prompt\r
\r
Param(\r
- [string] $qtdir = "C:\Qt\Qt5.12.10\5.12.10\msvc2017_64",\r
+ [string] $qtdir = "C:\Qt\Qt5.15.2\5.15.2\msvc2019_64",\r
[ValidateSet("x86", "amd64")][string] $arch = "amd64",\r
[ValidateSet("x86", "amd64")][string] $host_arch = "amd64",\r
[string] $vcversion\r
versuffix=_qtio
tag=$(date -u +%Y%m%dT%H%M%SZ)
-QT_VERSION=5.12.10
+QT_VERSION=5.15.2
QT_VERSION_SHORT=${QT_VERSION//./}
QT_CI_PACKAGES="qt.qt5.${QT_VERSION_SHORT}.gcc_64,qt.qt5.${QT_VERSION_SHORT}.qtwebengine"
DOWNLOAD_URL=$(./qtci/find_qt_installer ${QT_VERSION})
)
}
-QT_VERSION=${1:-5.12.2}
+QT_VERSION=${1:-5.15.2}
QT_VERSION_SHORT=${QT_VERSION//./}
# our expectation is that install-qt creates $QTDIR, $QTDIR/bin.
)
}
-QT_VERSION=${1:-5.12.2}
+QT_VERSION=${1:-5.15.2}
QT_VERSION_SHORT=${QT_VERSION//./}
# our expectation is that install-qt creates $QTDIR, $QTDIR/bin.
result = QDateTime(QDate(1970, 1, 1), time, timespec, offset);
} else if (date.isValid()) {
// no time, use start of day in the given Qt::TimeSpec.
-#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
- result = QDateTime(date, QTime(0,0), timespec, offset);
-#else
result = date.startOfDay(timespec, offset);
-#endif
}
return result;
case XcsvStyle::XT_GEOCACHE_LAST_FOUND: {
QDate date;
date = yyyymmdd_to_time(value);
-#if (QT_VERSION < QT_VERSION_CHECK(5, 14, 0))
- wpt->AllocGCData()->last_found = QDateTime(date);
-#else
wpt->AllocGCData()->last_found = date.startOfDay();
-#endif
break;
}